home *** CD-ROM | disk | FTP | other *** search
/ Aminet 44 / Aminet 44 (2001)(GTI - Schatztruhe)[!][Aug 2001].iso / Aminet / util / libs / MMULib.lha / MMULib / Fixes / FixCybAccess.readme < prev    next >
Text File  |  2000-02-26  |  1KB  |  34 lines

  1. FixCybAccess
  2. _____________________________________________________________________________
  3.  
  4. The cybscsi.device and the z3scsi.device of Phase5 accesses chip memory 
  5. for a controlled busy-wait loop. I don't know precisely what this 
  6. busy-wait is used for, but the device does this by accessing the chip 
  7. memory location 0xffff0 like this,
  8.  
  9.     nop
  10.     tst.w $ffff0
  11.     nop
  12.  
  13. however, WITHOUT EVEN ALLOCATING THIS LOCATION BEFORE. Obviously, this makes
  14. MuGuardianAngle SCREAM, and for good reason: What you see here is very bad
  15. programming style and very questionable for a commercial product. First of
  16. all, the chip memory timing depends on the DMA traffic of the native hardware
  17. and hence on the screen solution. Second, even IF this busy wait has to made,
  18. it is required to ALLOCATE the memory location used for the dummy read.
  19.  
  20. The FixCybAccess fixes this by an AllocAbs() of this location and hence
  21. avoids this hit.
  22.  
  23. It *DOES NOT* fix the general DMA related problems of the cybscsi.device, as 
  24. for example not calling the Os functions CachePreDMA() and CachePostDMA() and hence
  25. passing a (possibly invalid) logical address to the DMA logic instead of
  26. the true physical address.
  27.  
  28. You only need to run this program if you want to use the MuGuardianAngel. To
  29. install it, type
  30.  
  31. run FixCybAccess
  32.  
  33. on the shell. To abort it, break it with a ^C signal.
  34.